In various kinds of machines such as industrial robots, NC machine tools and the like, a required number of servomotors mounted thereon are employed to drive operating sections of the respective machine along or around corresponding control axes. At the time of starting and ending the drive of the respective operating section by an associated servomotor, and also at the time when a command value of operation speed of the servomotor is changed, acceleration/deceleration control of the servomotor is automatically performed to prevent the machine from undergoing overload or vibration.
In simultaneous multi-axis control for a machine, shown by way example in FIGS. 1 to 3, a movement command value per unit time, i.e., a commanded speed Pa, for a respective control axis in each period of a sampling operation of a commanded speed, which operation is effected at predetermined intervals of time, is determined by a computer or an interpolation and distribution control unit (not shown). Then, in an acceleration/deceleration control unit 1 receiving a first pulse train which corresponds to the commanded speed Pa after interpolation (indicated by the dashed line), linear acceleration/deceleration control of FIGS. 2 and 3, or exponential acceleration/deceleration control (not shown) is carried out with a time constant of T, so as to supply a servo control unit 2 for driving a servomotor 3 with a second pulse train corresponding to a commanded speed Pb after acceleration/deceleration control (only the commanded speed after linear acceleration/deceleration control is shown by the solid line).
According to the aforementioned conventional acceleration/deceleration control, the above-mentioned object of preventing overload, etc. can be achieved. However, the time constant T with which the acceleration/deceleration control is carried out is preset to such a value that the machine is operated at the maximum allowable acceleration/deceleration when the commanded speed Pa assumes its maximum value. Thus, the time constant is invariable regardless of whether the commanded speed Pa is large (FIG. 2) or small (FIG. 3). As a result, the machine is operated at the maximum allowable acceleration/deceleration only when the maximum commanded speed is generated, and in other cases, the acceleration at which the machine is operated becomes smaller with a decrease of the commanded speed. Thus, the maximum operating capability of the machine cannot be used and the operating time required (cycle time) increases.
Furthermore, when an operating section of a machine, such as a tool provided in a machine tool, work point of a robot, etc. is moved along a corner, its actual movement path is rounded and displaced from the commanded movement path. For example, in order to move the machine operating section first in the X-axis direction and then in the Y-axis direction, as indicated by the dashed line in FIG. 5, if an X-axis direction movement command of the speed Pa and a Y-axis movement command of the speed Pa are applied in the mentioned order, as indicated by the dashed lines in FIG. 4, then the acceleration/deceleration control unit 1 delivers a commanded speed Pb for the X axis and that for the Y axis in sequence, as indicated by the solid lines in FIG. 4. As a consequence, the machine operation section is accelerated in the Y-axis direction while it is decelerated in the X-axis direction, and accordingly its movement path is rounded, as indicated by the solid line in FIG. 5. The radius of the round becomes greater as the time constant T increases.